1359B - New Theatre Square - CodeForces Solution


brute force dp greedy implementation two pointers *1000

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    n,m,x,y = map(int, input().split())
    grid = [[i for i in input()] for j in range(n)]
    count = 0
    if 2*x <= y:
        for row in grid:
            for i in row:
                if i == '.':
                    count += x
    else:
        for row in grid:
            for i in range(len(row)):
                if row[i] == '.' and i != m-1:
                    if row[i+1] == '.':
                        count += y
                        row[i+1] = '*'
                    else:
                        count += x
                elif row[i] == '.' and i == m-1:
                    count += x
    print(count)

C++ Code:

#include <iostream>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <deque>
#include <cstring>
#include <stack>
using namespace std;
const int N=5e5+10,M=1e7+10,INF=0x3f3f3f3f,mod=1e9+7;
typedef pair<int,int>PII;
typedef long long LL;
char s[110][1100];
void solve()
{
  int n,m,x,y;
  cin>>n>>m>>x>>y;
  for(int i=1;i<=n;i++)
   for(int j=1;j<=m;j++)
    cin>>s[i][j];
  LL ans=0;
  for(int i=1;i<=n;i++)
  {
  	for(int j=1;j<=m;j++)
  	{
	  if(s[i][j]=='.')
	  {
	   if(j+1<=m&&s[i][j+1]=='.'&&y<=2*x)
	   {
	   	 j++;
	   	 ans+=y;
	   }
	   else ans+=x;
	  }
	}
  }
  cout<<ans<<'\n';
}
signed main()
{
   int T=1;
   cin>>T; 
   while(T--)solve();
}


Comments

Submit
0 Comments
More Questions

1279A - New Year Garland
1279B - Verse For Santa
202A - LLPS
978A - Remove Duplicates
1304A - Two Rabbits
225A - Dice Tower
1660D - Maximum Product Strikes Back
1513A - Array and Peaks
1251B - Binary Palindromes
768B - Code For 1
363B - Fence
991B - Getting an A
246A - Buggy Sorting
884A - Book Reading
1180A - Alex and a Rhombus
445A - DZY Loves Chessboard
1372A - Omkar and Completion
159D - Palindrome pairs
981B - Businessmen Problems
1668A - Direction Change
1667B - Optimal Partition
1668B - Social Distance
88B - Keyboard
580B - Kefa and Company
960A - Check the string
1220A - Cards
897A - Scarborough Fair
1433B - Yet Another Bookshelf
1283B - Candies Division
1451B - Non-Substring Subsequence